package com.yfj.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.yfj.entity.Course;

public interface CourseDao {
	
	void addCourse(Course c);
	
	//allCourse页面的模糊查询和显示全部,不包括studentList
	List<Course> queryCourse(Map<String,Object> m);
	
	//改变课程开放状态
	void changeState(Map<String,Object> m);
	
	//删除课程
	void deleteCourse(long id);
	
	/**
	 * 查找某课程的选课人数
	 * @param id	课程id
	 * @return
	 */
	Integer querySelectedNum(Long id);
	
	/**
	 * 更新选课人数,+1
	 * @param id	课程id
	 * @param selectedNum	新的选课人数
	 */
	void addSelectedNum(Long id);
	
	/**
	 * 更新选课人数,-1
	 * @param id	课程id
	 * @param selectedNum	新的选课人数
	 */
	void reduceSelectedNum(Long id);
}
